Blur estimation

ABSTRACT

A two-dimensional blur kernel is computed for a digital image by first estimating a sharp image from the digital image. The sharp image is derived from the digital image by sharpening at least portions of the digital image. The two-dimensional blur function is computed by minimizing an optimization algorithm that estimates the blur function.

BACKGROUND

Image blur can be introduced in a number of ways when a camera is usedto capture an image. Image blur can have various causes, such asmovement of the camera or the subject being photographed, incorrectfocus, or inherent features of the camera, such the camera's pixel size,the resolution of the camera's sensor, or its use of anti-aliasingfilters on the sensor.

FIG. 1 shows a blurry image 100 and a de-blurred image 102. Imagede-blurring has been performed previously in a number of ways. Forexample, an image can be de-blurred using a deconvolution algorithm,which previously has hinged on accurate knowledge of a blur kernel (blurkernels are described in greater detail further below). Thus, finding ablur kernel is an important and useful endeavor. Blur kernels can haveuses other than deconvolution. For example, in applications where bluris desirable, such as determining pixel depth from a camera's de-focus,it may also be helpful to recover the shape and size of a spatiallyvarying blur kernel.

However, recovering a blur kernel from a single blurred image is aninherently difficult problem due to the loss of information duringblurring. The observed blurred image provides only a partial constrainton the solution, as there are many combinations of blur kernels andsharp images that can be convolved to match the observed blurred image.

Techniques related to finding a blur kernel of an image are discussedbelow.

SUMMARY

The following summary is included only to introduce some conceptsdiscussed in the Detailed Description below. This summary is notcomprehensive and is not intended to delineate the scope of the claimedsubject matter, which is set forth by the claims presented at the end.

A two-dimensional blur kernel is computed for a digital image by firstestimating a sharp image from the digital image. The sharp image isderived from the digital image by sharpening at least portions of thedigital image. The two-dimensional blur function is computed byminimizing an optimization algorithm that estimates the blur function.

Many of the attendant features will be explained below with reference tothe following detailed description considered in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a blurry image and a de-blurred image.

FIG. 2 shows a process for estimating a blur kernel from a blurredimage.

FIG. 3 shows an image formation model underlying various techniquesdiscussed below.

FIG. 4 shows an example of estimating a sharp edge.

FIG. 5 shows a special calibration pattern that may be used fornon-blind blur kernel recovery.

DETAILED DESCRIPTION

Overview

Embodiments discussed below relate to blur estimation. Morespecifically, a sharp image may be estimated from a blurry input image.The sharp image can be used to recover a blur kernel. With certain typesof image blur, image features such as edges, though weakened by blur,can be detected. Even in a blind scenario where the scene content of theblurred image is unknown, if it is assumed that a detected blurred edgewould have been a step edge absent any blurring effects, it is possibleto detect likely edges in the blurred image and then predict or estimatethe locations in the blurred image of the corresponding sharp edges ofthe scene. Each estimated/computed edge and its corresponding blurrededge provides information about a radial profile of the blur kernel. Ifan image has edges with a sufficient span of orientations, the blurredimage and its predicted sharp image may contain sufficient informationto solve for a general two-dimensional blur kernel.

Before further explaining techniques for estimating a blur kernel,consider that a blur kernel is usually a two-dimensional image or arrayof numbers which when convolved (repeated multiplication andsummation-stepped over the pixels of the image) with the desiredsharp/true image produces what was seen or imaged. Although blur may becaused by a number of cumulative factors such as motion, defocus,anti-aliasing, etc., these effects can be combined into a single kernelbecause the convolution of multiple blur kernels result in a singlecumulative blur kernel. Convolution and de-convolution will be discussedfurther with reference to FIG. 3 (note the top of FIG. 3, where the“{circle around (×)}” symbol represents a convolution operation). Theblur kernel, sometimes called a point spread function (PSF) because itmodels how a pinpoint of light would spread in an actual image, is akernel that, when convolved with the blurred image's sharp image,produces the blurred image. Once the blur kernel is known, a variety ofmathematical techniques can be used to compute the de-blurred image thatcorresponds to the blurred image from which the blur kernel wascomputed. Note that the term “blurred image” is used herein fordescriptive purposes and merely refers to an image that is to be used toproduce a blur kernel. A “blurred image” may or may not appear blurry.

FIG. 2 shows a process for estimating a blur kernel 130 from a blurredimage 132. The process begins with receiving 134 the blurred image 132.As discussed previously, the image 132 may have blur from a variety offactors such as camera/subject movement or poor focus. Next, a sharpimage 134 is estimated 138 from the blurred image 132. While sharp imageestimation is a preferred form of enhancing image 132, other forms ofimage enhancement may be used (what is notable is the estimation ofunderlying features or form of the blurred image 132). Details ofestimating 138 sharp image 136 will be described later with reference toFIGS. 3 and 4. The blur kernel 130 is then computed 140 by applying anoptimization algorithm 140.

Image Formation Model

FIG. 3 shows an image formation model underlying various techniquesdiscussed below. The image formation model, and related imagingconcepts, will now be explained. The imaging model in FIG. 3 models twogeometric transformations 180 as well as blur (blur kernel 182). Thegeometric transforms 180 include a perspective transform (used whenphotographing a known planar calibration target) and a radialdistortion. The blur kernel 182 can be a result of motion, defocus,sensor anti-aliasing, and finite-area sensor sampling. Blur is modeledas a convolution along the image plane. Depth dependent defocus blur andthree-dimensional motion blur are accounted for by allowing the blurkernel 182 to vary spatially. The image formation model is helpful forunderstanding how to solve for the blur kernel 182.

One embodiment for finding blur kernel 182 involves estimating adiscretely sampled version of the model's continuous PSF by eithermatching the sampling to the image resolution (useful for estimatinglarge blur kernels) or by using a sub-pixel sampling grid to estimate adetailed blur kernel 182 (which can capture sensor aliasing and allowhigh accuracy image restoration). Also, by computing a sub-pixel blurkernel 182, it is possible to recover a super-resolved de-blurred imageby deconvolving an up-sampled image with the recovered blur kernel 182.

Regarding the geometric transformations 180, this world-to-imagetransformation consists of a perspective transform and a radialdistortion. When using mainly the blurred image 132 to recover the blurkernel 182 (referred to herein as the blind method), the perspectivetransform is ignored; computation is in image coordinates. When a “true”version of the blurred image 132 (e.g., a computed or captured gridpattern or calibration target) is to be used to recover the blur kernel(referred to as the non-blind method), the perspective transformation ismodeled as a two-dimensional homography that maps known featurelocations F^(k) on t a grid pattern to detect feature points from theimage F^(d). In this case, a standard model for radial distortion isused: (F′_(x), F′_(y))T=(F_(x), F_(y))^(T)(a₀+a₁r²(x, y)+a₂r⁴(x, y)),where r(x, y)=(F_(x) ²+F_(y) ²)^(1/2) is the radius relative to theimage center. The zeroth, second and fourth order radial distortioncoefficients a0, a1, and a2 specify the amount and type of radialdistortion.

Given a radial distortion function R(F) and warp function which appliesa homography H(F), the full alignment process is F^(d)=R(H(F^(k))). Theparameters that minimize the L₂ norm of the residual∥F^(d)−R(H(F^(k)))∥² are computed. It may not be possible to computethese parameters simultaneously in closed form. However, the problem isbilinear and the parameters can be solved-for using an iterativeoptimization approach.

Regarding modeling of the blur kernel 182, the equation for an observedimage B is a convolution of a kernel K and a potentiallyhigher-resolution sharp image I, plus additive Gaussian white noise,whose result is potentially down-sampled:B=D(I

K)+N,  (1)where N˜N(0, σ²). D(I) down-samples an image by point-sampling I_(L)(m,n)=I(sm, sn) at a sampling rate s for integer pixel coordinates (m, n).With this formulation, the kernel K can model most blurring effects,which are potentially spatially varying and wavelength dependent.Sharp Image Estimation

As seen above, blurring can be formulated as an invertible linearimaging system, which models the blurred image as the convolution of asharp image with the imaging system's blur kernel. Thus, if the originalsharp image is known, the kernel can be recovered. Therefore, when theoriginal sharp image is not available (the blind case) it is helpful tohave a reliable and widely applicable method for predicting orestimating a sharp image from a single blurry image. The following twosections (BLIND ESTIMATION, NON-BLIND ESTIMATION) discuss predicting orestimating a sharp image. The next section (BLUR KERNEL ESTIMATION)shows how to formulate and solve the invertible linear imaging system torecover the blur kernel. For simplicity, blurred images are consideredto be single channel or grayscale. A later section (CHROMATICABERRATION) discusses handling color images.

Blind Estimation

FIG. 4 shows an example of estimating a sharp edge. Blurred image 132has numerous blurry edges, including where the dome meets the sky. Asample profile 200 is shown on blurred image 132. The example sampleprofile 200 is a sampled line of pixels normal to the edge of the domein blurred image 132 (the size of profile 200 is exaggerated forillustration). Graph 202 shows the profile 200 of the blurry edge aswell as an estimated sharp edge 204 (dotted line). A sharp image can bepredicted or estimated from the blurred image 132 by computing manysample profiles normal to and along the blurred edges of blurred image132, in effect predicting where the true step edges would have beenwithout blurring effects. Referring to the top of FIG. 4, the estimatedsharp edge 204 convolved with a blur kernel (to be recovered) 205 shouldequal the blurred edge 200.

To explain blind estimation further, when only a blurred image may beavailable for finding a blur kernel, blur is assumed to be due to a PSFwith a single mode (or peak), such that when an image is blurred, theability to localize a previously sharp edge is unchanged. However, thestrength and profile of the edge is changed (see sharp edge 204 in graph202). Thus, by localizing blurred edges and predicting sharp edgeprofiles, estimating a sharp image is possible.

Edge estimation may be based on the assumption that observed blurrededges result from convolving an ideal step edge with the unknown blurkernel 205. The location and orientation of blurred edges in the blurredimage may be found using a sub-pixel difference-of-Gaussians edgedetector. An ideal sharp edge may then be predicted by finding the localmaximum and minimum pixel values (e.g., pixel values 206, 208), in arobust way, along the edge profile (e.g., profile 200). These values arethen propagated from pixels on each side of an edge to the sub-pixeledge location. The pixel at an edge itself is colored according to theweighted average of the maximum and minimum values according to thedistance of the sub-pixel location to the pixel center, which is asimple form of anti-aliasing (see graph 202 in FIG. 4).

The maximum and minimum values may be found robustly using a combinationof two techniques. The maximum value may be found by marching along theedge normal, sampling the image to find a local maximum usinghysteresis. Specifically, the maximum location may be deemed to be thefirst pixel that is less than 90% of the previous value. Once this valueand location are identified, the maximum value is stored as the mean ofall values along the edge profile that are within 10% of the initialmaximum value. An analogous approach is used to find the minimum pixelvalue.

Because values can be most reliably predicted near edges, it may bepreferable to use only observed pixels within a given radius of thepredicted sharp values. These locations are stored as valid pixels in amask, which is used when solving for the blur kernel. At the end of thissharp image prediction/estimation process the result is a partiallyestimated sharp image such as sharp image 136 in FIG. 2.

It should be noted that it may not be possible to predict sharp edgesthroughout the entire blurred image 132. Therefore, the sharp image maybe a partial estimation comprised of sharpened patches or regions of theblurred image. It should also be noted that other techniques forpredicting the sharp image are known and can be used instead of thedifference-of-Gaussians technique discussed above. For example, theMarr-Hildreth algorithm may be used to detect sharp edges.

Non-Blind Estimation

Non-blind sharp edge prediction may be used when the blurred image'strue sharp image is known. This approach is typically used in acontrolled lab setup. FIG. 5 shows a special calibration pattern 220that may be used for non-blind blur kernel recovery. An image 222 ofpattern 220 is taken and aligned to the image to get the sharp/blurrypair which is used to compute the blur kernel. The grid pattern 220 hascorner (checkerboard) features so that it can be automatically detectedand aligned, and it also has sharp step edges equally distributed at allorientations within a tiled pattern, thus providing edges that captureevery radial slice of the PSF. Generally, calibration patterns thatprovide measurable frequencies at all orientations will be helpful.Furthermore, the grid pattern 220 can be represented in mathematicalform (the curved segments are 90 degree arcs), which gives a precisedefinition for the grid, which is advantageous for performing alignmentand computing sub-pixel resolutions.

For non-blind sharp image prediction, it is again assumed (though notrequired) that the kernel has no more than a single peak. Thus even whenthe pattern is blurred, it is possible to detect corners on the gridwith a sub-pixel corner detector. Because the corners of pattern 220 areactually balanced checkerboard crossings (radially symmetric), they donot suffer from “shrinkage” (displacement) due to blurring. Once thecorners are found, the ground truth pattern 220 is aligned to theacquired image 222 of the pattern 220. To obtain an accurate alignment,both geometric and radiometric aspects of the imaging system may becorrected for. Geometric alignment may be performed using thecorrections discussed earlier. A homography and radial distortioncorrection may be fitted to match the known feature locations on thegrid pattern to corners detected with sub-pixel precision on theacquired (blurry) image of the printed grid.

Lighting and shading in the image 222 of the grid pattern 220 may alsobe accounted for by first aligning the known grid pattern 220 to theimage 222. Then, for each edge location (as known from the mathematicalform of the ground truth grid pattern), the maximum and minimum valueson the edge profile are found and propagated as in the non-blindapproach. The grid for pixels is shaded within the blur radius of eachedge. By performing the shading operation, it is possible to correct forshading, lighting, and radial intensity falloff. Image 224 in FIG. 5shows the corresponding cropped part of the known grid pattern 220warped and shaded to match the image 222 of the grid pattern 220.

Blur Kernel Estimation

Having estimated a sharp image, the PSF can be estimated as the kernelthat when convolved with the sharp image produces the blurred inputimage. The estimation can be formulated using a Bayesian frameworksolved using a maximum a posteriori (MAP) technique. MAP estimation isused to find the most likely estimate for the blur kernel K given thesharp image I and the observed blurred image B, using thepreviously-discussed known image formation model and noise level. Thiscan be expressed as a maximization over the probability distribution ofthe posterior using Bayes' rule. The result is minimization of a sum ofnegative log likelihoods L(.):

$\begin{matrix}{{P\left( {K/B} \right)} = {{P\left( {B/K} \right)}{{P(K)}/{P(B)}}}} & (2) \\{{\underset{K}{argmax}{P\left( {K/B} \right)}} = {{\underset{K}{argmin}{L\left( {B/K} \right)}} + {{L(K)}.}}} & (3)\end{matrix}$

The problem is now reduced to defining the negative log likelihoodterms. Given the image formation model (Equation 1), the data term is:L(B|K)=∥M(B)−M(I

K)∥²/σ².  (4)

Note that the downsampling term D in (1) may be incorporated whencomputing a super-resolved blur kernel, as discussed later.

The function M(.) in Formula (4) is a masking function such that thisterm is only evaluated for “known” pixels in B, i.e., those pixels thatresult from the convolution of K with properly estimated pixels I, whichform a band around each edge point, as described in the BLIND ESTIMATIONsection above.

The remaining negative log likelihood term, L(K), models priorassumptions on the blur kernel and regularizes the solution. Asmoothness prior and a non-negativity constraint are used. Thesmoothness prior penalizes large gradients and thus biases kernel valuesto take on values similar to their neighbors: L_(s)(K)=γ_(λ)∥∇K∥², whereλ controls the weight of the smoothness penalty, and γ=(2R+1)²normalizes for the kernel area (R is the kernel radius). Since thekernel should sum to one (as blur kernels are energy conserving) theindividual values decrease with increased R. This factor keeps therelative magnitude of kernel gradient values on par with the data termvalues regardless of kernel size. The following error function istherefore minimized (subject to K_(i)≧0) to solve for the PSF (blurkernel) using non-negative linear least squares using a projectivegradient Newton's method:L=∥M(B)−M(I

K)∥²/σ²+γ_(λ) ∥∇K∥ ²  (5)The noise level can be estimated using a technique similar to that of C.Liu et al. (“Noise estimation from a single image”, CVPR '06, volume 2,pages 901-908, June 2006). Empirically, λ=2 works well.Super-Resolved Blur Kernel

By taking advantage of sub-pixel edge detection for blind prediction orsub-pixel corner detection for non-blind prediction, it is possible toestimate a super-resolved blur kernel by predicting a sharp image at ahigher resolution than the observed blurred image.

For the blind method, in the process of estimating the sharp image, thepredicted sharp edge-profile is rasterized back onto a pixel grid. Byrasterizing the sub-pixel sharp-edge profile onto an up-sampled grid, asuper-resolved sharp image can be estimated. In addition, at the actualidentified edge location (as before), the pixel color is a weightedaverage of the minimum and maximum, where the weighting reflects thesub-pixel edge location on the grid. For the non-blind method, the gridpattern is also rasterized at a desired resolution. Since corners aredetected at sub-pixel precision, the geometric alignment is computedwith sub-pixel precision. Using the mathematical description of thegrid, any upsampled resolution can be chosen when rasterizing thepredicted sharp image. Anti-aliasing may also be performed, as describedearlier.

To solve for the blur kernel using the super-resolved predicted sharpimage I_(H) and the observed (vectorized) blurry image b, Equation 4 maybe modified to include a down-sampling function according to the imagemodel (Equation 1). Also, b_(H)=A_(H)k_(H) is considered to be asuper-resolved sharp image blurred by the super-resolved kernel k_(H),where A_(H) is the matrix form of I_(H). Equation 4 is then∥b−DA_(H)k_(H)∥² (the masking function has been left out forreadability). D is a matrix reflecting the down-sampling function:{circumflex over (B)}_(L)(m, n)={circumflex over (B)}_(H)(sm, sn).

Computing a Spatially Varying PSF

Given the formulation above, a spatially varying PSF can be computed ina straightforward manner by performing the MAP estimation processdescribed in the previous section for sub-windows of the image. Theprocess operates on any size sub-window as long as enough edges atdifferent orientations are present in that window. In the limit, a PSFcan be computed for every pixel using sliding windows. In practice itwas found that such a dense solution is not necessary, as the PSF tendsto vary spatially relatively slowly.

For reliable results, this method benefits from having sufficient edgesat most orientations. When using the entire blurred image, this is notusually an issue. However, when using smaller windows or patches, theedge content may under-constrain the PSF solution. A simple test may beused to avoid this problem: ensure that (a) the number of valid pixelsin the mask described in Equation 4 is greater than the number ofunknowns in the kernel, and (b) compute a histogram of 10 degree bins ofthe detected edges orientations and ensure that each bin contains atleast a minimum number of edges (experimentation has shown that aminimum value of 100 is effective, but other values could be used). Whenthis check fails, a kernel for that window is not computed.

Chromatic Abberation

The previous sections did not explicitly address solving blur kernelsfor color images. To handle color, the blurred image can be simplyconverted to grayscale. In many cases this is sufficient. However, it isusually more accurate to solve for a blur kernel for each color channel.This need may arise when chromatic aberration effects are apparent.

Due to the wavelength-dependent variation of the index of refraction ofglass, the focal length of a lens varies continually with wavelength.This property causes longitudinal chromatic aberration (blur/shiftsalong the optical axis), which implies that the focal depth, and thusamount of defocus, is wavelength dependent. This also causes lateralchromatic aberration (blur/shifts perpendicular to the optical axis).

By solving for a blur kernel per color channel, the longitudinalaberrations can be modeled using a per-color channel radial distortioncorrection to handle the lateral distortions. Lateral distortions can becorrected by first performing edge detection on each color channelindependently and only keeping edges that are detected within 5 pixelsof each other in R, G, and B. A radial correction is then computed toalign the R and B edges to the G edges and then perform blind sharpimage prediction.

To correct for any residual radial shifts, the green edge locations areused for all color channels so that all color bands have sharp edgespredicted at the same locations. This last step could be performedwithout correcting radial distortion first and by allowing the shifts tobe entirely modeled within the PSF; however, the two stage approach hasbeen found to be superior, as it removes some aberration artifacts evenwhen there is not enough edge information to compute a blur kernel. Byremoving the majority of the shift first, it is possible to solve forsmaller kernels.

If RAW camera images are available, more accurate per-channel blurkernels can be computed by accounting for the Bayer pattern samplingduring blur kernel computation instead of using the demosaiced colorvalues. A blur kernel is solved at the original image resolution, whichis 2× the resolution for each color channel. The point sampling functiondiscussed above may be used, where the sampling is shifted according tothe appropriate Bayer sample location.

CONCLUSION

Embodiments and features discussed above can be realized in the form ofinformation stored in volatile or non-volatile computer or devicereadable media. This is deemed to include at least media such as opticalstorage (e.g., CD-ROM), magnetic media, flash ROM, or any current orfuture means of storing digital information. The stored information canbe in the form of machine executable instructions (e.g., compiledexecutable binary code), source code, bytecode, or any other informationthat can be used to enable or configure computing devices to perform thevarious embodiments discussed above. This is also deemed to include atleast volatile memory such as RAM and/or virtual memory storinginformation such as CPU instructions during execution of a programcarrying out an embodiment, as well as non-volatile media storinginformation that allows a program or executable to be loaded andexecuted. The embodiments and featured can be performed on any type ofcomputing device, including portable devices, workstations, servers,mobile wireless devices, and so on. The embodiments can also beperformed in digital cameras or video cameras, given sufficient CPUcapacity.

The invention claimed is:
 1. One or more volatile and/or non-volatilecomputer-readable media storing information to enable a device toperform a process, the process comprising: receiving a digital image;finding continuous two-dimensional blurred edges in portions of thedigital image and computing corresponding two-dimensional sharpenededges oriented and located relative to the digital image; computing ablur kernel based on the two-dimensional sharpened edges; and applyingthe blur kernel to the digital image to produce a de-blurred version ofthe digital image.
 2. One or more computer readable media according toclaim 1, wherein the finding the continuous two-dimensional blurrededges is performed using a sub-pixel difference of Gaussians edgedetector.
 3. One or more computer readable media according to claim 2,wherein the computing the two-dimensional sharpened edges furthercomprises finding a local maximum and minimum pixel values along aprofile of an edge and propagating these values from pixels on each sideof an edge to a sub-pixel edge location.
 4. One or more computerreadable media according to claim 1, wherein the sharpened edges arestored in a mask comprised of pixels of the digital image that are localto the computed sharpened edges.
 5. One or more computer readable mediaaccording to claim 1, wherein the digital image is an image of a knowncalibration pattern and the calibration pattern is used to help find theblur kernel.
 6. One or more computer readable media according to claim5, wherein the using the calibration pattern comprises aligning thecalibration pattern to the digital image and matching known featurelocations of the calibration pattern to corners detected in the digitalimage.
 7. One or more computer readable media according to claim 1,wherein the blur kernel is computed with sub-pixel resolution such thatit has greater resolution than the digital image.
 8. One or morevolatile and/or non-volatile computer-readable media according to claim1, further the applying the blur kernel comprising deconvolving thedigital image with the two-dimensional blur kernel to produce thede-blurred version of the digital image.
 9. One or more volatile and/ornon-volatile computer-readable media according to claim 1, wherein thesharpened edges comprise continuous two-dimensional edges estimated fromand oriented to the digital image.
 10. One or more volatile and/ornon-volatile computer-readable media according to claim 1, wherein theblur kernel is computed blindly without using a reference imagecorresponding to the digital image.
 11. One or more volatile and/ornon-volatile computer-readable media according to claim 1, wherein theblur kernel is computed with greater pixel resolution than the digitalimage.
 12. One or more volatile and/or non-volatile computer-readablemedia according to claim 11, wherein the digital image comprises animage of a calibration pattern, and the process further comprisesaligning the calibration pattern and the digital image and using thealigned calibration pattern to compute the sharpened edges of thedigital image.
 13. One or more volatile and/or non-volatilecomputer-readable media according to claim 1, wherein the only imagedata used to compute the blur kernel comprises the digital image and animage comprised of the sharpened edges derived from the digital image.14. A device comprising: a processor and memory, the device configuredto perform a process, the process comprising: acquiring a blurreddigital image stored in the memory; detecting blurred edges in theblurred digital image and estimating corresponding underlying sharp edgelines, stored in the memory, that created the blurred edges when theblurred digital image was captured; and computing a blur kernel based onthe sharp edge lines and the blurred digital image.
 15. A deviceaccording to claim 14, wherein the blur kernel has sub-pixel resolutionrelative to the blurred digital image.
 16. A device according to claim14, wherein the process further comprises using the blur kernel tode-blur the blurred digital image.
 17. A method according to claim 16,wherein the blurred digital image is an image of a test pattern and thetest pattern is used in computing the blur kernel.
 18. A deviceaccording to claim 14, wherein the test pattern is configured to haveedges at substantially all orientations of the test pattern.
 19. Adevice according to claim 18, wherein the test pattern is configured toprovide measurable frequencies at substantially all orientations.